s1_read_last_two_bytes_of_a_mbr_backup_file(){
local file_path=$1
local last_bytes=$(tail -c 2 "$file_path" | od -A n -t x1 | tr -d ' \n')
if [ "$last_bytes" = "55aa" ];then
echo "YES"
else
	echo "NO"
fi 
}
s2_read_mbr_partition_table_info(){
for i in {0..3}; do
offset=$((446 + i * 16))
start_sector=$(dd if="$1" bs=1 skip=$((offset +8)) count 4 2>/dev/null |od -t u4 -An | tr -d '\n')
if ! [[ $start_sector =~ ^[0-9]+$ ]];then
	continue
fi 
if [ "start_sector" -eq 0 ];then
	continue
fi
size_sector=$(dd if="$1" bs=1 skip=$((offset + 12)) count 4 2>/dev/null | od -t u4 -An |tr -d '\n')
end_sector=$((start_sector + size-sector -1))
echo "$start_sector $end_sector"
done
}
s3_parse_partition_info(){
fdisk_output=$(cat)
disk_size_bytes=$(echo "fdisk_output" | grep "Disk /dev/vda:" |awk '{print $5}')
disk_size_sectors=$(echo "fdisk_output" | grep "Disk /dev/vda:" | awk '{print $7}')
physical_sector_size=$(echo "$fdisk_output" | grep "Sector size" | awk '{print $4}')
first_partition_satrt_sector=$(echo "$fdisk_output" | grep "/dev/vda1" |awk '{print $3}')
first_partition_end_sector=$(echo "$fdisk_output" | grep "dev/vda1" | awk'{print $4}')
first_partition_type=$(echo "fdisk_output" | grep "/dev/vda1" | awk '{print $8}')
echo "disk size in bytes:$disk_size_bytes"
echo "disk size in sectors:$disk_size_sectors"
echo "physical sector size in bytes:$physical_sector_size"
echo "first partition start sector id:$first_partition_start_sector"
echo "first partiton end sector id:$first_partition_end_sector"
echo "first partition types:$first_partition_type"
}
s5_add_a_scheduled_task(){
touch $HOME/test_crontab;
echo "*/5 * * * * date +\%Y\%m\%d_\%H\%M\%S >>$HOME/test_crontab" | crotab -
}

